1. Field of the Invention
The present invention relates to document rendering. In particular, the present invention relates to systems and methods for rendering a document in a native format at a printer device using a host service for rendering into printer ready data. In addition, when multiple compatible services are available, an optimal host service is determined and used for rendering into printer ready data.
2. Background and Related Art
When a document is to be printed, the corresponding print job is typically in either a printer ready format or converted into a printer ready format that is compatible with the corresponding printer. Once in the printer ready format, the print job can be pushed to or pulled by the printer.
While techniques are currently available that convert a print job into printer ready data, situations exist where converting the print job into printer ready data is either not convenient or not possible. For example, such situations occur when (i) the host device does not have access to the corresponding printer driver for the printer; (ii) the host device does not have access to the application to convert the document data in graphical primitives for the device; (iii) the print job is initiated at the device and the pull print facility cannot initiate a background print on the device; and/or (iv) the printer receives the print job in the document's native format instead of in printer ready data.
Attempts have been made to solve such problems. For example, one such technique is illustrated as FIG. 1, wherein a document/print job is sent in a native format to a print server, which converts the print job to a printer format and sends it to a printer. Specifically, a user submits a file to the print server in one of several supported native file formats (e.g., MS-Office, PDF, HTML, JPEG), without specifying a target device. To print the file, the user uses a small device that includes a keypad and a liquid crystal display (“LCD”), and is connected between a printer and a local area network (“LAN”). The small device serves two functions. First, a user can access the server via the keypad and pull down a file for printing on the attached printer. Second, the device transmits device identification information to the server, which the server uses to select the appropriate printer driver to convert the print data into printer ready data for the device. This enables remote users to route a job to the output device through the server.
While this method is currently available, several limitations exist. For example, the method cannot perform peer-to-peer printing, it cannot use the pre-existing print subsystem, only a limited number of options on the host can be converted to print options by the server, it cannot initiate printing from the device (e.g., pull printing), and the print server must have the application for the document format and the driver for the printer.
Thus, while techniques currently exist that are used to convert a print job into printer ready data, challenges still exist. Accordingly, it would be an improvement in the art to augment or even replace current techniques with other techniques.